package com.zeta.file.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zeta.file.model.entity.FsFile;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.Set;

/**
 * 文件 服务类
 *
 * @author gcc
 */
public interface IFsFileService extends IService<FsFile> {

    /**
     * 上传文件
     *
     * @param file 文件对象
     * @param bizType 业务类型 例如：order、user_avatar等 会影响文件url的值
     */
    FsFile upload(MultipartFile file, String bizType);

    /**
     * 下载文件
     *
     * @param id 文件id
     * @param response HttpServletResponse
     */
    void download(Long id, HttpServletResponse response);

    /**
     * 删除文件
     *
     * @param id 文件id
     */
    boolean delete(Long id);

    /**
     * 批量删除文件
     *
     * @param ids 文件id集合
     */
    boolean batchDelete(Set<Long> ids);
}
